package com.shiroha.video.pojo;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import com.shiroha.common.handler.UUIDTypeHandler;
import com.shiroha.video.enums.Gender;
import lombok.Data;

import java.util.UUID;

/**
 * Keycloak 后台用户数据的本地数据库副本
 * <p>用户注册到 Keycloak 后，在用户服务的数据库也插入一条带有部分属性的用户数据。
 * 通过查询本地数据来减少网络请求，同时可以确保物理表之间的外键约束。</p>
 */
@Data
@Table(value = "cached_user", schema = "public")
public class CachedUser {
    @Column(typeHandler = UUIDTypeHandler.class)
    private UUID id;            // 用户ID
    private String username;    // 用户名
    private String email;       // 邮箱
    private String avatar;      // 头像URL
    private Gender gender;      // 性别
}
